using UnityEngine;

namespace GameDesigner
{
    public interface IStateController
    {
        IStateLayer[] Layers { get; set; }
        StateMachineView View { get; set; }
        Transform transform { get; set; }
        object Self { get; set; }

        void ChangeState(int stateId, int actionId = 0, bool force = false, int layer = 0);
        void ChangeChildState(int stateId, int actionId = 0, int layer = 0);
        void ChangeState(int stateId, int childStateId, int actionId = 0, bool force = false, int layer = 0);

        void SetLayerMask(int layer, AvatarMask mask);
    }
}